const WebSocket = require("ws");
const net = require('net')

// 创建一个WebSocket服务器，监听3000端口
const wss = new WebSocket.Server({ port: 3000 });
// 当客户端连接时
wss.on("connection", (ws) => {
  console.log("webSocket-客户端已连接");

  // 当接收到客户端的消息时
  ws.on("message", (message) => {
    console.log("webSocket-收到消息: %s", message)
    client.write(message);
  });

  // 当连接关闭时
  ws.on("close", () => {
    console.log("webSocket-客户端已断开连接");
    client.destroy();
  });


  /*
    连接TCP服务器
  */
   console.log("TcpServer-开始连接。。。");
   const client = net.createConnection({
    port: 60000, // 端口需要和服务端保持一致
    host: '192.168.4.1' //服务端的ip地址
  });
  client.setEncoding('utf8');
  //当套字节与服务端连接成功时触发connect事件
  client.on('connect', () => {
    client.write('TcpServer-connect');//向服务端发送数据
  });
  client.on('data', function (data) {
    console.log("TcpServer-收到消息："+data);
    ws.send(data); // 通过websocket发送给客户端
  })
  client.on('error', function (err) {
    console.log('TcpServer-连接失败')
    client.destroy();
  })
  client.on('close', function (err) {
    console.log('TcpServer-连接中断')
    client.destroy();
  })
  console.log("TcpServer-完成连接。。。");

});



console.log("WebSocket服务器正在监听3000端口...");
